package service;

import java.util.List;

import dao.PictureDAO;
import domain.Picture;
import domain.PictureWithBLOBs;

/**
 * 图片Service接口.
 * <p>
 * 创建日期：2010-07-01<br>
 * 创建人：Xiyt<br>
 * 修改日期：<br>
 * 修改人：<br>
 * 修改内容：<br>
 * 
 * @author Xiyt
 * @version 1.0
 */
public interface PictureService {

	/**
	 * 设定图片DAO
	 * */
	public void setPictureDao(PictureDAO pictureDao);

	/**
	 * 根据图片ID查询图片信息
	 * @param pictureId 图片ID
	 * @return Picture 图片
	 */
	public Picture selectByPrimaryKey(int pictureId);

	/**
	 * 根据条件查询图片数量
	 * @Description: 根据条件查询图片数量
	 * @param paramPicture 图片
	 * @return int 图片数量
	 */
	public int countByCriteria(Picture paramPicture);

	/**
	 * 根据条件查询图片列表WithoutBLOBs
	 * @param paramPicture 图片
	 * @return list 图片列表
	 */
	public List<Picture> selectByCriteria(Picture paramPicture);

	/**
	 * 根据条件查询图片列表带分页WithoutBLOBs
	 * @param paramPicture 图片
	 * @return list 图片列表
	 */
	public List<Picture> selectByCriteriaForPaging(
			Picture paramPicture);

	/**
	 * 添加图片
	 * @param picture 图片
	 */
	public void insert(PictureWithBLOBs picture);

	/**
	 * 修改图片
	 * @param picture 图片
	 */
	public int update(PictureWithBLOBs picture);

	/**
	 * 修改图片名称
	 * @param pictureIds 图片IDS
	 * @param pictureNames 图片名称
	 */
	public void update(String pictureIds, String pictureNames) throws Exception;

	/**
	 * 移动图片
	 * @param pictureIds 图片IDS
	 * @param albumId 相册ID
	 */
	public void move(String pictureIds, String albumId);

	/**
	 * 删除图片
	 * @param pictureIds 图片IDS
	 * @param uuids 图片UUIDS
	 * @param uploadFilePath 文件路径
	 */
	public void delete(String pictureIds, String uuids, String uploadFilePath) throws Exception;
	
	/**
	 * 删除图片
	 * @param paramPicture 图片
	 */
	public int deleteByPrimaryKey(int id);
}
